package br.com.imob.bo;

import java.util.List;

import br.com.imob.dao.CategoriaDao;
import br.com.imob.dao.ClassificacaoDao;
import br.com.imob.dao.ImovelDao;
import br.com.imob.dao.TipoImovelDao;
import br.com.imob.modelo.Categoria;
import br.com.imob.modelo.Classificacao;
import br.com.imob.modelo.Finalidade;
import br.com.imob.modelo.Imovel;
import br.com.imob.modelo.TipoImovel;

public class ImovelSisBO extends GenericCrudBO<Imovel> {
	
	private Imovel imovel = new Imovel();
	private ImovelDao imovelDao = new ImovelDao();
	private TipoImovel tipoImovel = new TipoImovel();
	private TipoImovelDao tipoImovelDao = new TipoImovelDao();
	private Finalidade finalidade = new Finalidade();
	private Categoria categoria = new Categoria();
	private CategoriaDao categoriaDao = new CategoriaDao();
	private Classificacao classificacao = new Classificacao();
	private ClassificacaoDao classificacaoDao = new ClassificacaoDao();
	
	public ImovelSisBO() {
		this.exibirTodosRegistrosAoPesquisar = true;
		try {
			limparDadosForm();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	@Override
	public void alterarImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void excluirImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void incluirImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void pesquisarImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	
	//Geters e Seters
	public Imovel getImovel() {
		return imovel;
	}

	public void setImovel(Imovel imovel) {
		this.imovel = imovel;
	}

	public ImovelDao getImovelDao() {
		return imovelDao;
	}

	public void setImovelDao(ImovelDao imovelDao) {
		this.imovelDao = imovelDao;
	}

	public TipoImovel getTipoImovel() {
		return tipoImovel;
	}

	public void setTipoImovel(TipoImovel tipoImovel) {
		this.tipoImovel = tipoImovel;
	}

	public TipoImovelDao getTipoImovelDao() {
		return tipoImovelDao;
	}

	public void setTipoImovelDao(TipoImovelDao tipoImovelDao) {
		this.tipoImovelDao = tipoImovelDao;
	}

	public Finalidade getFinalidade() {
		return finalidade;
	}

	public void setFinalidade(Finalidade finalidade) {
		this.finalidade = finalidade;
	}

	public Categoria getCategoria() {
		return categoria;
	}

	public void setCategoria(Categoria categoria) {
		this.categoria = categoria;
	}

	public CategoriaDao getCategoriaDao() {
		return categoriaDao;
	}

	public void setCategoriaDao(CategoriaDao categoriaDao) {
		this.categoriaDao = categoriaDao;
	}
	
	public Classificacao getClassificacao() {
		return classificacao;
	}

	public void setClassificacao(Classificacao classificacao) {
		this.classificacao = classificacao;
	}

	public ClassificacaoDao getClassificacaoDao() {
		return classificacaoDao;
	}

	public void setClassificacaoDao(ClassificacaoDao classificacaoDao) {
		this.classificacaoDao = classificacaoDao;
	}

	public List<TipoImovel> getTiposImovel() {
		tipoImovelDao = new TipoImovelDao();
		return tipoImovelDao.getTipoImoveis();
		
	}
	
	public List<Categoria> getCategorias() {
		categoriaDao = new CategoriaDao();
		return categoriaDao.getCategorias();
		
	}
	
	public List<Classificacao> getClassificacoes() {
		classificacaoDao = new ClassificacaoDao();
		return classificacaoDao.getClassificacoes();
		
	}

	@Override
	public void validarCampos(Imovel imovel) throws Exception {
		// TODO Auto-generated method stub
		
	}

}
